﻿//PlazaDeliveryReportFutureColumns.cs
//Copyright (c) 2013 StockSharp LLC, all rights reserved.
//This code module is part of StockSharp library.
//This code is licensed under the GNU GENERAL PUBLIC LICENSE Version 3.
//See the file License.txt for the license details.
//More info on: http://stocksharp.com

using System;

namespace StockSharp.Plaza.Metadata
{
	/// <summary>
	/// Поток FORTS_FUTINFO_REPL - Фьючерсы: справочная и сессионная информация.
	/// Таблица delivery_report - Отчет о поставке.
	/// </summary>
	public class PlazaDeliveryReportFutureColumns : PlazaColumns
	{
		internal PlazaDeliveryReportFutureColumns()
			: base(PlazaTableSystemName.DeliveryReport)
		{
			Date = new PlazaColumn(TableId, "date", typeof(DateTime));
			ClientCode = new PlazaColumn(TableId, "client_code", "c7");
			Type = new PlazaColumn(TableId, "type", "c2");
			IsinId = new PlazaColumn(TableId, "isin_id", typeof(int));
			Position = new PlazaColumn(TableId, "pos", typeof(int));
			PositionExcl = new PlazaColumn(TableId, "pos_excl", typeof(int));
			PositionUnexec = new PlazaColumn(TableId, "pos_unexec", typeof(int));
			Unexec = new PlazaColumn(TableId, "unexec", typeof(bool));
			SettlPair = new PlazaColumn(TableId, "settl_pair", "c12");
			AssetCode = new PlazaColumn(TableId, "asset_code", "c25");
			IssueCode = new PlazaColumn(TableId, "issue_code", "c25");
			ObligRur = new PlazaColumn(TableId, "oblig_rur", "d16.2");
			ObligQty = new PlazaColumn(TableId, "oblig_qty", typeof(long));
			FulfilRur = new PlazaColumn(TableId, "fulfil_rur", "d16.2");
			FulfilQty = new PlazaColumn(TableId, "fulfil_qty", typeof(long));
			Step = new PlazaColumn(TableId, "step", typeof(int));
			SessionId = new PlazaColumn(TableId, "sess_id", typeof(int));
			IdGen = new PlazaColumn(TableId, "id_gen", typeof(int));
		}

		/// <summary>
		/// Дата проведения клиринга.
		/// </summary>
		public readonly PlazaColumn Date;

		/// <summary>
		/// Код клиента.
		/// </summary>
		public readonly PlazaColumn ClientCode;

		/// <summary>
		/// Признак РФ/БФ/клиента ('RF' - РФ; 'BF' - БФ; 'CL' - клиент).
		/// Здесь всегда равен 'CL'.
		/// </summary>
		public readonly PlazaColumn Type;

		/// <summary>
		/// Уникальный числовой идентификатор иструмента.
		/// </summary>
		public readonly PlazaColumn IsinId;

		/// <summary>
		/// Количество позиций, подлежащих исполнению, на начало данного этапа поставки (кроме исключенных по принципу совпадения ИНН (кодов)).
		/// </summary>
		public readonly PlazaColumn Position;

		/// <summary>
		/// Для первого этапа - это Количество позиций по фьючерсам, аннулированных в связи с тем, что они учитывались на регистрах с одним ИНН (кодом).
		/// Для второго этапа всегда 0.
		/// </summary>
		public readonly PlazaColumn PositionExcl;

		/// <summary>
		/// Количество позиций, неисполненных в ходе данного этапа поставки.
		/// </summary>
		public readonly PlazaColumn PositionUnexec;

		/// <summary>
		/// Признак исполнения/неисполнения клиентом позиций, указанных в поле pos_neisp (False - исполнение, True - неисполнение).
		/// </summary>
		public readonly PlazaColumn Unexec;

		/// <summary>
		/// Код РПС.
		/// </summary>
		public readonly PlazaColumn SettlPair;

		/// <summary>
		/// Торговый код поставляемого актива.
		/// </summary>
		public readonly PlazaColumn AssetCode;

		/// <summary>
		/// Депозитарный код поставляемого актива.
		/// </summary>
		public readonly PlazaColumn IssueCode;

		/// <summary>
		/// Объём обязательств в руб.
		/// </summary>
		public readonly PlazaColumn ObligRur;

		/// <summary>
		/// Объём обязательств в бумагах, шт.
		/// </summary>
		public readonly PlazaColumn ObligQty;

		/// <summary>
		/// Объём выполненных обязательств в руб.
		/// </summary>
		public readonly PlazaColumn FulfilRur;

		/// <summary>
		/// Объём выполненных обязательств в бумагах, шт.
		/// </summary>
		public readonly PlazaColumn FulfilQty;

		/// <summary>
		/// Порядковый номер этапа поставки.
		/// </summary>
		public readonly PlazaColumn Step;

		/// <summary>
		/// Идентификатор торговой сессии.
		/// </summary>
		public readonly PlazaColumn SessionId;

		/// <summary>
		/// Идентификатор этапа формирования отчетов.
		/// </summary>
		public readonly PlazaColumn IdGen;
	}
}